Pull to refresh
25
0
Send message

Battle Realms: прорыв в жанре RTS, не замеченный публикой

Level of difficultyEasy
Reading time7 min
Views14K

Во времена дефицита информации о выходящих проектах пропустить что-то действительно интересное было раз плюнуть. Интернет имели единицы, а прочитать в журнале про все предстоящие проекты было довольно проблематично (да и для многих дорого). Но однажды мне повезло, и при очередном походе в магазин за новой игрой я совершенно случайно наткнулся, если и не на хит, то уж на знаковый проект – точно. Это был Battle Realms!

Будучи стратегией в восточном сеттинге и имея много интересных для жанра нововведений и игровых механик, она так и не стала значимой фигурой в индустрии (во многом из-за релиза незадолго до выхода Warcraft 3). Если вы подумали «О боже, очередной клон популярных стратегий нулевых», то спешу вам сообщить, что это в корне не так! Battle Realms не является пародией на Warcraft, Starcraft, Dune 2 или Red Alert, а пытается идти по своему пути! Это было круто и в 2001, а учитывая, что жанр стратегических игр не сильно развивается в наши дни, это интересно и сегодня. К тому же, недавно вышел её официальный ремастер, позволяющий самостоятельно попробовать этот самобытный проект.

Сегодня я постараюсь кратко рассказать, чем знаменательна Battle Realms, и пробудить ваше любопытство и ностальгию. Надеюсь, у меня получится убедить вас сыграть в неё. А чтобы вам было максимально удобно, я выложу сборку с уже готовой к запуску игрой.

Читать далее
Total votes 26: ↑25 and ↓1+24
Comments18

Тиннитус (шум в ушах) для айтишников, геймеров, и не только

Reading time16 min
Views68K

ВНИМАНИЕ! Если у вас нет шума в ушах (тиннитуса) и/или нейросенсорной тугоухости, но есть особенности психики в части психосоматики или подобного – покиньте данный пост не читая.

Самые важные победы в мире – победы над собой

Всем привет. Меня зовут Паша Герасимов, мне 38, я – инженер в ИТ, геймер, и у меня диагноз НСТ (нейросенсорная тугоухость), а также субъективный шум в ухе (тиннитус) и гидропс правого лабиринта. По ощущениям, это комбо – шум/гул/свист в ухе, снижение слуха, чувство заложенности за перепонкой, и гиперакузия (повышенная чувствительность к некоторым звукам). Для тех, кто не в теме – представьте, что у вас ухо заложено ваткой, а внутри уха – звук неработающего канала ТВ (как видео пример, или mp3). И так – регулярно, месяцами, без возможности исправления.  

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

Читать далее
Total votes 95: ↑93 and ↓2+91
Comments155

Возрождение простых сайтов. Статика, 0kB JS, ничего лишнего

Reading time8 min
Views41K

Как мы обсуждали в прошлый раз, удручающее ожирение сайтов и софта вернуло моду на простые, маленькие проекты. И сейчас происходит своеобразный ренессанс веба 90-х, вплоть до стиля Geocities (такой был бесплатный хостинг) и веб-страниц в виде PDF. Таковы примеры самореализации. У каждого человека — уникальный сайт, который отличается от остальных и отражает его личность.

Статический сайт можно выполнить в одном файле HTML, а динамический — в одном бинарнике (под катом). Тенденция видна везде. Современные фреймворки даже хвалятся «0кБ JavaScript» по дефолту, а браузеры внедрили технические усовершенствования, которые во многом аннулируют преимущества использования SPA.
Читать дальше →
Total votes 107: ↑101 and ↓6+95
Comments72

Apache Kafka. Безопасность, мониторинг и управление кластером

Reading time21 min
Views29K

Мы расскажем, как настроить безопасность кластеров Kafka и Zookeeper, какие инструменты можно использовать для мониторинга и управления кластером, а также про особенности продукта, с которыми мы столкнулись.

 Почему Apache Kafka?

 Apache Kafka — это унификация. Десятки поставщиков и потребителей, миллионы сообщений в день и огромные массивы данных — для этого нужна надежная, отказоустойчивая и высокопроизводительная шина данных. Существует множество версий дистрибутивов Apache Kafka, например vanilla kafka, oбразы от confluent, bitnami, wurstmeister и т.д. Мы расскажем про решение на базе сборок от Confluent в виде Docker-образов. Оно самое надежное в плане информационной безопасности. Конфигурирование и запуск контейнеров с Kafka в данном случае происходит с помощью docker-compose.

 За время работы с Kafka мы прошли  путь от «коробочного» решения до тонкой настройки безопасности кластера, применения TLS шифрования и разворачивания по рекомендациям вендора по построению геораспределенного кластера. В конфигурации «из коробки» нет первоначальных настроек безопасности. Для контроля доступов, вносимых изменений и безопасного взаимодействия перед нами встала задача настройки на кластере Apache Kafka TLS шифрования, аутентификации и авторизации средствами встроенного ACL.

 TLS шифрование

Обеспечивает шифрование соединения между брокерами Kafka, серверами Zookeeper, клиентами и брокерами. Вся ключевая информация помещается в хранилища — keystore, которые разделяют на два вида:

keystore, где хранятся ключи и сертификаты стороны, в отношении которой пройдет процедура аутентификации и установления защищенного соединения, например, приватный ключ и ассоциированный с ним и подписанный со стороны центра сертификации (ЦC) сертификат.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments2

Культовая драм-машина 80-х — с ней можно познакомиться прямо в браузере

Reading time2 min
Views7K

Мы уже рассказывали о необычном проекте, который позволяет превратить шуршание пачки чипсов и стук керамической посуды в полноценный трек. Сегодня расскажем о другом ресурсе, где можно познакомиться с драм-машиной Roland TR-808 и с её помощью записать музыку для личного приложения или игры.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments4

Дефицит есть, а денег не дают. Почему?

Reading time27 min
Views292K

Мы уже выяснили, что у нас есть дефицит рабочих рук во всех отраслях. На примере СССР увидели, что дефицит легко закрывается деньгами и плюшками, что сейчас и происходит в IT. Однако при дефиците рабочих рук в остальных отраслях зарплаты остаются на уровне Румынии и никак не подтягиваются. Почему?

Читать далее
Total votes 618: ↑603 and ↓15+588
Comments1205

Практические рекомендации по работе с Docker для Python-разработчиков

Reading time28 min
Views94K

Прим. Wunder Fund: в этой длииинной статье вы найдете ряд полезных советов по работе с Docker, как общего характера, так и Python-специфичных. Хоть мы и давно используем Docker в работе, про некоторые советы мы подумали "а что, так можно было?". Советуем вначале пролистать статью, и отметить штуки, которые покажутся актуальными для вашей текущей ситуации.

Читать далее
Total votes 67: ↑66 and ↓1+65
Comments8

Самый полный чек-лист для защиты от мошенников

Reading time17 min
Views156K

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

Читать далее
Total votes 148: ↑146 and ↓2+144
Comments169

Dockle — Диагностика безопасности контейнеров

Reading time2 min
Views8.7K

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

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments0

Пишем оператор Kubernetes с нуля

Reading time7 min
Views22K

image
Фото: Jukan Tateisi | Unsplash


В этой статье мы подробно рассмотрим, как создать собственный оператор Kubernetes с нуля. Операторы — это такие программные расширения, которые используют кастомные ресурсы (kind), чтобы управлять приложениями. Подробности читайте в официальной документации.


Возьмем самый простой пример — приложение HelloApp. Чтобы задеплоить HelloApp, создадим ресурс Kubernetes.

Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments4

Как найти удаленную работу в зарубежной компании. 10 шагов

Reading time10 min
Views59K


Каждый год Оксфордский словарь английского языка выбирает «Слово года». Но в 2020-м что-то пошло не так. Издательство Оксфордского университета описало 2020-й как «год, который лишил нас дара речи», и сказало, что к нему невозможно подобрать правильное слово.


Но на наш взгляд, такое слово всё-таки есть. С прошлого марта в мире резко возросло использование слова «удаленно». Большинство предприятий отошли от традиционной модели офисной работы и стали пытаться организовать труд сотрудников из дома. Для разработчиков из СНГ это прекрасная возможность начать работу в лучших мировых компаниях. Зарплаты за рубежом выше, а возможностей сейчас стало больше, чем когда-либо прежде.


Мы постоянно исследуем рынок. Публикуем сотни вакансий ежедневно. И сейчас 40% выручки получаем от иностранных компаний, которые в основном нанимают программистов для удаленной работы.


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

Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments16

Как root-права и альтернативные прошивки делают ваш android смартфон уязвимым

Reading time54 min
Views124K

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

Часто для этого рекомендуется получение прав суперпользователя в системе (root-права), удаление системных приложений от Google и от производителя устройства, или даже полная замена стандартной ОС на альтернативные сборки, чаще всего LineageOS (бывший CyanogenMod). При этом первым шагом в этом процессе всегда будет так называемая "разблокировка загрузчика". Во время её выполнения устройство несколько раз покажет нам страшные предупреждения о том, что теперь оно станет более уязвимо для злоумышленников, но мы смело нажимаем "подтвердить" и шьём root или самую свежую сборку кастомной прошивки, не задумываясь о том какие проблемы создаёт нам незаблокированный загрузчик. 

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

Интересующихся приглашаю под кат.

Читать далее
Total votes 127: ↑123 and ↓4+119
Comments210

Пользователи и авторизация RBAC в Kubernetes

Reading time15 min
Views35K
Прим. перев.: Продолжая недавно затронутую нами тему безопасности Kubernetes в целом и RBAC — в частности, публикуем перевод этого материала от французского консультанта из международной компании Big Data-компании Adaltas. Автор в деталях показывает, как создавать пользователей, наделять их правами и в дальнейшем обслуживать.

Настройка и запуск кластера Kubernetes – это только начало: ведь его необходимо еще и эксплуатировать. Чтобы обезопасить доступ к кластеру, нужно задать идентификационные данные пользователей и грамотно управлять настройками аутентификации и авторизации.

(Иллюстрация взята из блога CNCF — прим. перев.)

Эта статья посвящена тому, как создавать пользователей, используя клиентские сертификаты X.509, и как управлять авторизацией с помощью базовых API-объектов RBAC в Kubernetes. Мы также поговорим о некоторых открытых проектах, упрощающих администрирование кластера: rakkess, kubectl-who-can, rbac-lookup и RBAC Manager.
Читать дальше →
Total votes 42: ↑41 and ↓1+40
Comments0

Как Иван ошибку в бэкенде локализовывал

Reading time13 min
Views11K
В комментариях к одной из моих статей про базовые команды Linux shell для тестировщиков справедливо заметили, что в ней не было указано применение команд в процессе тестирования. Я подумал, что лучше поздно, чем никогда, поэтому решил рассказать историю Backend QA-инженера Вани, который столкнулся с неожиданным поведением сервиса и попытался разобраться, где именно случилась ошибка.


Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments17

10 типичных ошибок при использовании Kubernetes

Reading time11 min
Views27K
Прим. перев.: авторы этой статьи — инженеры из небольшой чешской компании pipetail. Им удалось собрать замечательный список из [местами банальных, но всё ещё] столь актуальных проблем и заблуждений, связанных с эксплуатацией кластеров Kubernetes.



За годы использования Kubernetes нам довелось поработать с большим числом кластеров (как управляемых, так и неуправляемых — на GCP, AWS и Azure). Со временем мы стали замечать, что некоторые ошибки постоянно повторяются. Однако в этом нет ничего постыдного: мы сами совершили большинство из них!

В статье собраны наиболее распространенные ошибки, а также упомянуто о том, как их исправлять.
Читать дальше →
Total votes 53: ↑51 and ↓2+49
Comments3

Что такое Windows PowerShell и с чем его едят? Часть 2: введение в язык программирования

Reading time11 min
Views71K
Исторически утилиты командной строки в Unix-системах развиты лучше чем в Windows, однако с появлением нового решения ситуация изменилась.

Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments21

Коммерциализация доработок свободного ПО под Copyleft лицензиями

Reading time7 min
Views6.5K
Я планировал начать эту статью с информации о том, что всегда существуют значительные сложности при попытках коммерциализировать доработки свободного программного обеспечения, а в качестве показательного примера привести ситуацию с проектом Redis.

Но потом понял, что ситуация с Redis (Redis вновь меняет лицензию) в качестве примера не очень подходит. И не только из-за адской смеси различных используемых в проекте лицензий, но и дополнительной путаницы, возникающей из-за толкования терминов Open Source и Свободное ПО.

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

Ведь цифры говорят сами за себя. Суммарная выручка облачных провайдеров за последний квартал 2019 года превысила $30 миллиардов долларов. Среди них лидер — Amazon (32.4% рынка), Microsoft Azure почти в два раза меньше (17.6%), далее идут Google Cloud (6%) и Alibaba Cloud (5.4%).

Тем не менее, для компаний меньшего размера, подобный бизнес как правило не достижим. Поэтому для них вопрос коммерциализации доработок свободного программного обеспечения под Copyleft лицензиями (такими, как GPL), может оказаться вполне актуальным.
Предлагаю вашему вниманию практический способ коммерциализация доработок свободного программного обеспечения под Copyleft лицензиями, в том числе применительно к законодательству РФ.
Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments58

Оптимизация образов Docker

Reading time9 min
Views65K
Образы Docker могуть быть очень большими. Многие превышают 1 Гб в размере. Как они становятся такими? Должны ли они быть такими? Можем ли мы сделать их меньше, не жертвуя функциональностью?

В CenturyLink Lab мы много работали над сборкой различных docker-образов в последнее время. Когда мы начали экспериментировать с их созданием, мы обнаружили, что наши сборки очень быстро раздуваются в объеме (обычным делом было собрать образ, который весит 1 Гб или больше). Размер, конечно, не столь важен, если мы говорим про образы по два гига, лежащие на локальной машине. Но это становится проблемой, когда вы начинаете постоянно скачивать/отправлять эти образы через интернет.

Я решил, что стоит копнуть поглубже и разобраться с тем, как работает процесс создания docker-образов, чтобы понять, что можно сделать для уменьшения размера наших сборок.
Читать дальше →
Total votes 41: ↑41 and ↓0+41
Comments18

Визуальное руководство по диагностике неисправностей в Kubernetes

Reading time11 min
Views45K
Прим. перев.: Эта статья входит в состав опубликованных в свободном доступе материалов проекта learnk8s, обучающего работе с Kubernetes компании и индивидуальных администраторов. В ней Daniele Polencic, руководитель проекта, делится наглядной инструкцией о том, какие шаги стоит предпринимать в случае возникновения проблем общего характера у приложений, запущенных в кластере K8s.



TL;DR: вот схема, которая поможет вам отладить deployment в Kubernetes:
Читать дальше →
Total votes 66: ↑66 and ↓0+66
Comments9
1

Information

Rating
Does not participate
Registered
Activity