Pull to refresh
192
0
Алексей Гришин @GRaAL

Разработчик широкого профиля

Send message

Бесплатный VPN сервис Wireguard на AWS

Reading time11 min
Views144K

Для чего?


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


Статья 19
Каждый человек имеет право на свободу убеждений и на свободное выражение их; это право включает свободу беспрепятственно придерживаться своих убеждений и свободу искать, получать и распространять информацию и идеи любыми средствами и независимо от государственных границ

В данном руководстве мы за 6 этапов развернем свой собственный бесплатный* VPN сервис на базе технологии Wireguard, в облачной инфраструктуре Amazon Web Services (AWS), с помощью бесплатного аккаунта (на 12 месяцев), на инстансе (виртуальной машине) под управлением Ubuntu Server 18.04 LTS.


Я старался сделать это пошаговое руководство как можно более дружественным к людям, далеким от ИТ. Единственное что требуется — это усидчивость в повторении описанных ниже шагов.

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

Создание игры «35ММ». Постапокалипсис в России

Reading time15 min
Views54K


Всем доброго времени суток, меня зовут Сергей Носков. Сегодня я бы хотел рассказать о создании моего первого полноценного инди-проекта под названием 35ММ, вышедшего в Steam в 2016 году. История конечно давняя, и с тех пор уже было опубликовано несколько статей и интервью на тему проекта, однако, подробного описания процесса разработки не было. Также, практически не были затронуты технические моменты реализации. Об этом, собственно, мы и поговорим.

Начнем с небольшой предыстории. 35ММ — это адвенчура с видом от первого лица в сеттинге постапокалипсиса на территории России. В народе — симулятор ходьбы. Игра повествует нам историю путешествия двух странников по опустевшим землям, оставленным цивилизацией. Основная часть населения вымерла после страшной болезни, и теперь природа отыгрывает у человечества свои очки. К сожалению, уже не помню точно, как зародилась идея данного проекта, но точно помню, что на тот момент я был ярым фанатом темы сталкера, игр «Метро» и вообще подобного атмосферного антуража. У меня всегда вызывали трепет и восторг пейзажи заброшенных городов, промышленных зон и деревень. Уж не знаю, что это за болезнь такая и как такую любовь объяснить, но нас таких много. В общем-то, подобной страсти по данной теме было достаточно для того, чтобы начать создание своего небольшого игрового мира.
Читать дальше →

Виды моделирования. Основы скульптинга, ретопологии и развертки

Reading time5 min
Views64K


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

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

Гранд Экспресс: первый частный поезд в России

Reading time8 min
Views73K


Привет! Вы просили меня рассказать про особенные поезда. Ближе всего было добраться до №5 по рейтингу (по нашим отзывам) — «Гранд Экспресс» Москва — Петербург. Выше него ничего в Москву не заезжает. Собственно, мы попросились в отстойник, где состав обслуживается между рейсами, и поговорили там с начальником поезда.

Поезд считается «люкс», то есть не просто везёт вас из Москвы в Петербург и обратно, а делает это с особым шиком и с кучей дополнительных услуг, удобных также для бизнес-путешественников. Наверное, это самый шикарный поезд из тех, что есть в нашей стране. Во втором вагоне есть отдельный бар, большинство купе двухместные, в части вагонов у пассажиров собственные туалеты, души и умывальники. С 2018 года есть тариф «Эконом Базовый», где из услуг нет ничего, кроме белья, ТВ и Wi-Fi, а всё остальное вроде тапочек и завтрака можно докупить. Цель — предоставить свободу выбора услуг, без необходимости оплачивать неиспользуемое.

Заходите смотреть на ресторан и нормальные туалеты в поездах. В целом «Гранд Экспресс» можно рассматривать как пилот для того, что будет входить лет через 5-7 в купе по дефолту. Давайте расскажу, как можно провести ночь между городами в бизнес-классе.
Читать дальше →

Интервью с космонавтом Александром Лавейкиным о космическом кино, перегрузках в 20 единиц и мягкой посадке

Reading time6 min
Views10K
Накануне Дня космонавтики хотим поделиться с вами интервью космонавта Александра Лавейкина. Он совершил космический полет в 1987 году, проработал полгода на орбитальной станции «Мир» в качестве бортинженера. Выполнил три выхода в открытый космос общей продолжительностью 8 часов 48 минут.

Честно признаемся, материал не нов — Александр Лавейкин выступал с лекцией и отвечал на вопросы участников Партнерской конференции АСКОН в 2016 году. Но перечитав ответы, мы поняли, что его впечатления от полета не потеряли своей актуальности.

Итак, о работе космонавтов, современных фантастических фильмах и американцах на Луне рассказывает Летчик-космонавт СССР, Герой Советского Союза Александр Лавейкин.


Фото: ТАСС

Ученые впервые показали реальное «фото» черной дыры

Reading time2 min
Views97K
image

Спроси любого человека на улице, как выглядит черная дыра, и он вам обязательно об этом расскажет. Еще бы, ведь все помнят красочные симуляции этих космических объектов из различных фантастических фильмов. Поэтому в это трудно поверить, что до сих пор никто на самом деле не видел, как же черные дыры выглядят в реальности!

10 апреля ученые показали первое реальное изображение черной дыры. Здесь стоит оговориться, что на самом деле полученный снимок представляет собой изображение аккрецио́нного диска, явления происходящего в непосредственной близи от еще видимых границ материи, притягиваемой черной дырой, у горизонта событий. И полученное изображение удивительно напоминает нам до боли знакомые кадры из фильма Интерстеллар!

Посвященная этому событию пресс-конференция сейчас транслируется в прямом эфире:

Как нарисовать чёрную дыру. Геодезическая трассировка лучей в искривлённом пространстве-времени

Reading time14 min
Views50K
«Это легко. Берём метрику Шварцшильда, ищем символы Кристоффеля, вычисляем их производную, записываем геодезическое уравнение, меняем некоторые декартовы координаты (чтобы не страдать), получаем большое многострочное ОДУ — и решаем его. Примерно так».



Теперь ясно, что чёрные дыры меня засосали. Они бесконечно увлекательны. В прошлый раз я разбирался с визуализацией геометрии Шварцшильда. Меня поглотила проблема точного представления, как кривизна такого пространства-времени влияет на внешний вид неба (поскольку фотоны из удалённых источников движутся вдоль геодезических линий, изогнутых чёрной дырой) для создания интерактивного моделирования. Вот результат (работает в браузере). Хитрость в максимально возможном предрасчёте отклонения световых лучей. Всё работает более-менее нормально, но конечно, такая симуляция далека от идеала, потому что в реальности там не производится никакой трассировки (для неспециалистов: восстановление назад во времени местонахождения световых лучей, падающих в камеру).

Мой новый проект исправляет этот недостаток, отказавшись от эффективности/интерактивности самым простым образом: это рейтрейсер чисто на CPU. Трассировка выполняется максимально точно и максимально долго. Рендеринг изображения вверху занял 15 5 минут (спасибо, RK4) на моём ноутбуке.
Читать дальше →

Топ 5 стейблкоинов. Все, что тебе нужно знать

Reading time3 min
Views31K
image

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

За последние 18 месяцев, различные проекты выполняли сложную задачу ограничения волатильности, выпуская так называемые stablecoins.

В отличие от традиционных криптографических токенов, stablecoins предназначены для поддержания стабильной стоимости по отношению к активу или валюте в любое время. Многие стейблкоины, используют доллар США в качестве ориентира стоимости.
Читать дальше →

Как улучшить геймдизайн с помощью оптимальных стратегий

Reading time9 min
Views21K
Как бы ни старались геймдизайнеры, в любой игре можно найти механику или контент, которые страдают от недостаточно детального продумывания. Последствия — от мелких эксплойтов до ненужных или даже вредных фичей.

В помощь геймдизайнерам придумана масса инструментов: форматы ГДД, различные чек-листы, юзерстори, портреты, агенда и так далее. И все равно этого не хватает.

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

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

Пишем первый микросервис на Node.js с общением через RabbitMQ

Reading time5 min
Views65K

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


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

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

Дизайн низкополигональных персонажей

Reading time8 min
Views46K
image

Персонаж — это личность. Без истории нет индивидуальности. Каждый хороший персонаж начинается с истории, а дизайн персонажа должен рассказать эту историю.

В своей предыдущей статье How To Make Low Poly Look Good я говорил, что главная цель низкополигонального (low poly) дизайна — донести сообщение через наименьшее количество форм.

Это особенно справедливо, когда вы создаёте низкополигонального персонажа. Нужно рассказать историю, использовав как можно меньше форм.

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



Я буду работать в Blender. В Maya, Max и других 3D-редакторах есть похожие инструменты, так что не беспокойтесь об этом.
Читать дальше →

Трассировка сервисов, OpenTracing и Jaeger

Reading time7 min
Views145K
image

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

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

Большой город для мобильных устройств на Unity. Опыт разработки и оптимизации

Reading time7 min
Views11K


Привет Хабр! В этой публикации хочу поделиться опытом разработки массивной мобильной игры, с большим городом и трафиком. Примеры и приемы описанные в публикации не претендуют называться эталонными и идеальными. Я не являюсь дипломированным специалистом и не призываю повторять свой опыт. Целью работы над игрой было — получение интересного опыта, получение оптимизированной игры с открытым миром. При разработке я старался максимально упрощать код. К сожалению, я не использовал ECS, а грешил с singleton.

Игра


Игра на тематику мафии. В игре я попытался воссоздать Америку 30-40. По сути игра является экономической стратегий от первого лица. Игрок захватывает бизнес и старается удержать его на плаву.
Реализовано: автомобильный трафик (светофоры, избегание столкновений), human трафик, бар, казино, клуб, квартира игрока, покупка костюма, смена костюма, покупка/покраска/заправка автомобиля, копы, охрана/гангстеры, экономика, продажа/покупка ресурсов.

Архитектура


image

Я жалею, что не использовал ECS, а пытался в велосипед. В итоге получилось все громоздко и слишком зависимо. У приложения одна точка входа — игровой объект application(go), на котором висит одноименный класс Application. Он отвечает за предварительную загрузку БД, заполнение пулов и первичные настройки. Кроме того, на плечи application(go) ложатся и несколько других singleton классов-компонентов-менеджеров.
Читать дальше →

Асинхронность в программировании

Reading time26 min
Views102K

В области разработки высоконагруженных многопоточных или распределенных приложений часто возникают дискуссии об асинхронном программировании. Сегодня мы подробно погрузимся в асинхронность и изучим, что это такое, когда она возникает, как влияет на код и язык программирования, которым мы пользуемся. Разберемся, зачем нужны Futures и Promises и затронем корутины и операционные системы. Это сделает компромиссы, возникающие во время разработки ПО, более явными.


В основе материала — расшифровка доклада Ивана Пузыревского, преподавателя школы анализа данных Яндекса.


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

20 лет RollerCoaster Tycoon: интервью с создателем игры

Reading time13 min
Views16K
image

31 марта 1999 года была выпущена игра RollerCoaster Tycoon, полностью созданная одним человеком и написанная на языке ассемблера x86. В честь юбилея игры мы публикуем перевод интервью с автором, записанное в 2016 году.

Сегодня мало кто помнит имя шотландского программиста и дизайнера видеоигр Криса Сойера. Похоже, что изобретатель RollerCoaster Tycoon с радостью позволил Atari создавать новые игры в любимой многими серии стратегий, а сам занялся более важными теперь для него делами. И тем не менее, несмотря на радиомолчание, игры Сойера до сих пор многие помнят и почитают больше, чем 20 лет назад.

Занимаясь в начале 90-х переносом с Amiga на PC таких игр, как Elite Plus, Frontier Elite 2, Birds of Prey и Dino Dini's Goal, Сойер создал свою первый симулятор руководителя под названием Transport Tycoon. Он хотел развить идеи Sid Meier's Railroad Tycoon, скомбинировав её геймплейные элементы со своим кодом изометрической графики, и создать новый тип карт. MicroProse одобрила Transport Tycoon, выпустила её в 1994 году, и игра стала хитом. Её расширенная и улучшенная версия Transport Tycoon Deluxe была выпущена всего годом позже.

В процессе планирования сиквела Transport Tycoon Сойер влюбился в американские горки (roller coasters). И так его следующий проект превратился в игру RollerCoaster Tycoon, выпущенную в 1999 году. Она тоже стала хитом. За ней в 2002 году последовала RollerCoaster Tycoon 2. Она стала ещё бОльшим хитом. Несмотря на партнёрские соглашения с такими издателями, как Hasbro, Сойер сохранил за собой право владения франшизой RollerCoaster Tycoon, и, судя по всему, благодаря успеху, оно себя оправдало.

В дальнейшем Сойер решил выпустить из своих рук бразды правления разработкой RollerCoaster Tycoon и позволил другим управлять вагонеткой. Выпущенная в 2004 году RollerCoaster Tycoon 3 разрабатывалась автором Elite: Dangerous, компанией Frontier. В том же году Сойер выпустил Locomotion, которую назвал духовным преемником Transport Tycoon.

Ужасная тюрьма: исследование маргинальных шипов венериной мухоловки

Reading time10 min
Views28K


Пятница — прекрасный день, когда серые будни подходят к концу (простите, что сыплю соль на рану тем, кто работает и в субботу/воскресенье), впереди ждут долгожданные выходные, и у нас появляется время заняться чем-то приятным и интересным: почитать книгу, которая уже собрала рекордный слой пыли; навестить родственников, если они вас еще помнят; выспаться, просыпаясь утром не от ужасного будильника, а естественным путем; полить цветок в горшке, который скоро эволюционирует в кактус, перекати-поле или плотоядное чудовище, как в фильме «Маленький магазинчик ужасов». В данной кинокартине растение-убийца это вымышленное создание, но у него есть прародитель в реальном мире — хищные растения, конкретнее, венерина мухоловка. Это растение — Джейсон Вурхиз в мире насекомых. И как для Джейсона характерным является мачете, так для мухоловки характерны ее маргинальные (краевые) шипы. Сегодня мы с вами познакомимся с исследованием, в котором ученые решили проверить насколько важны эти шипы в поимке добычи. Естественно, важны — скажете вы и будете правы, но результаты исследования не обошлись без сюрпризов. Не будем тянуть комара за хоботок и погрузимся в доклад за разъяснениями. Поехали.

Wolfenstein 3D: трассировка лучей с помощью WebGL1

Reading time8 min
Views17K
image

После появления прошлым летом графических карт Nvidia RTX трассировка лучей (ray tracing) снова обрела былую популярность. За последние несколько месяцев мою ленту в Twitter заполнил бесконечный поток сравнений графики со включенным и отключенным RTX.

Полюбовавшись на такое количество красивых изображений, я захотел самостоятельно попробовать скомбинировать классический упреждающий рендерер (forward renderer) с трассировщиком лучей.

Страдая синдромом неприятия чужих разработок, я в результате создал собственный гибридный движок рендеринга на основе WebGL1. Поиграть с демо рендеринга уровня из Wolfenstein 3D со сферами (которые я использовал из-за трассировки лучей) можно здесь.
Читать дальше →

Делаем современное веб-приложение с нуля

Reading time31 min
Views162K
Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт?

В этой статье мы попробуем набросать boilerplate простейшего веб-приложения со следующей архитектурой:


Что мы покроем:

  • настройка dev-окружения в docker-compose.
  • создание бэкенда на Flask.
  • создание фронтенда на Express.
  • сборка JS с помощью Webpack.
  • React, Redux и server side rendering.
  • очереди задач с RQ.
Читать дальше →

Internet of Things: четыре рассказа около технологий

Reading time39 min
Views5.8K


Иллюстрация Анатолия Сазанова

Решил поделиться с вами четырьмя рассказами с «интригующими» названиями:

  • Augmented Reality
  • Умный дом
  • A.I.
  • Блокчейн

Объединяет их (как вы уже заметили) упоминание разных модных IT-слов. Их и так все пихают куда ни попадя, так почему и мне нельзя?

Немного нетвердой (и не всегда научной) и безрадостной фантастики под катом.
Читать дальше →

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Registered
Activity

Specialization

Backend Developer, Software Architect
Lead
From 5,000 $