Pull to refresh
2
0

Администратор локалхоста

Send message

Реализация физически корректных объемных облаков как в игре Horizon Zero Dawn

Reading time16 min
Views16K
Раньше облака в играх рисовались обычными 2D спрайтами, которые всегда повернуты в направлении камеры, но последние годы новые модели видеокарт позволяют рисовать физически корректные облака без заметных потерь в производительности. Считается, что объемные облака в игры принесла студия Guerrilla Games вместе с игрой Horizon Zero Dawn. Конечно, такие облака умели рендерить и раньше, но студия сформировала что-то вроде промышленного стандарта на исходные ресурсы и используемые алгоритмы, и в настоящее время любая реализация объемных облаков так или иначе этому стандарту соответствует.

UPD. Картинка обновлена. Изменения описаны в конце статьи.


Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments18

Выборочный обход блокировок на маршрутизаторах с прошивкой Padavan и Keenetic OS

Reading time23 min
Views343K
Инструкций с разными вариантами обхода блокировок Интернет-ресурсов опубликовано огромное количество. Но тема не теряет актуальности. Даже всё чаще звучат инициативы на законодательном уровне заблокировать статьи о методах обхода блокировок. И появились слухи, что Роскомнадзор получит ещё одну пачку денег налогоплательщиков на «более лучшие» блокировки. Опытные пользователи ничего нового и полезного из статьи не узнают. А вот другие получат готовые пошаговые инструкции для простого и эффективного выборочного обхода блокировок на популярных маршрутизаторах с прошивкой Padavan и Keenetic.


Читать дальше →
Total votes 36: ↑32 and ↓4+28
Comments0

Ад своими руками

Reading time19 min
Views172K
Многие говорят – рассказывать надо не только об успехах, но и о неудачах. Полностью с этим согласен — понимание своих неудач, их причин и последствий, иногда ценнее любых успехов.

Был у меня в жизни такой опыт автоматизации, за который долгое время было стыдно. Не потому, что система плохо работала, или метаданные кривые были, или ТЗ не соответствовала — ровно наоборот. Все красиво, быстро, с полным внедрением во всей компании. С точки зрения формальных критериев это был полный успех.

Но компанию, ее культуру это внедрение превратило в ад — бюрократический, системный и бессмысленный.

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

Обо всем по порядку.
Читать дальше →
Total votes 294: ↑285 and ↓9+276
Comments313

Junior и методы рационального мышления

Reading time3 min
Views17K

Многое, что кажется совершенно очевидным для опытного разработчика, оказывается неочевидным для начинающего. Я не говорю про написание кода, знание паттернов и тп. Это касается способа мышления в целом: как решить проблему, как спросить, как не вызвать гнев наставников своих старших. Сегодня попробуем поговорить об этом.


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

Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments10

Настолько ли стар твой Windows?

Reading time3 min
Views58K
Как показывает бурное обсуждение последних статей на Хабре, посвященных Windows системам, большое количество продвинутых и не очень пользователей отдает свое предпочтение «устаревшей» Windows 7 и не торопится переходить на Windows 10. Причины бывают очень разные — от недовольства политикой конфиденциальности и большим объемом телеметрии до банальной привычки и нежелания идти на поводу у маркетологов Microsoft.

В данной статье я хочу рассмотреть случай, когда Windows 7, да и более ранние версии, требуются разработчику для качественного решения своих рабочих обязанностей. Не секрет, что в корпоративном секторе доля Windows 7 все еще очень велика, а так как компания Microsoft продлила ее расширенную поддержку до 2023 года, в ближайшее время вряд ли что-то кардинально изменится. И это не говоря о том, что встречаются и совсем древние системы с Server 2003 и 2008, на которых работает какое-то старое, но крайне нужное ПО, портировать которое никто не берется исходя из принципа «работает – не трогай». Однако, обновить Вашу «устаревшую» операционную систему можно гораздо быстрее и проще, чем кажется.
Читать дальше →
Total votes 47: ↑40 and ↓7+33
Comments183

Создание умного дома и разработка своего протокола

Reading time5 min
Views180K
Сразу скажу, что пост ориентирован скорее на обычных людей, чем на тех, кто в теме, и является скорее отчётом того, чем я занимался в последние дни.

Я тут решил забить на всю работу и заняться чем-то для души. Снова взялся за паяльник. Решил автоматизировать дома всё и вся. На старой-то квартире у меня был умный дом или что-то типа того — мог свет в комнате включать через Интернет и всё такое.

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

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

На борту микроконтроллера есть всякие I²C, да UART, но они явно не удовлетворяют условиям. В итоге было решено разработать свой велосипед протокол.



Читать дальше →
Total votes 77: ↑69 and ↓8+61
Comments99

Создание умного домофона с автоответчиком и Интернет-соединением

Reading time3 min
Views193K
Не так давно я чинил домофонную трубку и задумался — а не сделать ли мне небольшую модернизацию? Научить его уведомлять меня через Интернет о том, что кто-то приходил, или даже удалённо открывать дверь с мобильного телефона… А затем я решил — почему бы вообще не сделать автоответчик? На телефонах сейчас автоответчик уже мало кому нужен, а вот знать, кто же ко мне приходил, было бы весьма полезно, особенно при том, что я не привык брать трубку, если никого не жду. Воплотить идею в реальность оказалось не так уж сложно.
Читать дальше →
Total votes 146: ↑144 and ↓2+142
Comments80

Обзор бесплатных 2D САПР

Reading time8 min
Views127K
В сфере автоматизации проектирования с каждым годом всё сильнее укрепляют свои позиции параметрические трёхмерные САПР. Полезность такого подхода в инженерном деле сейчас не вызывает сомнений, и сфера применения такого подхода обширна.

Тем не менее, в инженерном деле остаётся место и для традиционного двумерного проектирования, и для этого есть соответствующие инструменты.

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

Подвес системного блока под стоячий стол

Reading time4 min
Views59K
Я пользуюсь стоячим столом уже много лет. До этого времени пользовался только ноутбуками. Недавно я купил системный блок, и у меня возникла проблема размещения его на рабочем месте. В этой статье я расскажу какой я приобрёл подвес для моего системного блока и какие у меня были к нему требования.


Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments88

learnopengl. Урок 1.9 — Камера

Reading time18 min
Views83K

imageВ предыдущем уроке обсуждалась матрица вида, и то, как её можно использовать для перемещения по сцене (мы немного отодвинули назад точку зрения наблюдателя). В OpenGL отсутствует концепция камеры, но можно попытаться её сымитировать, перемещая все объекты сцены в направлении противоположном движению наблюдателя, и тем самым создать иллюзию, что движемся мы сами.


В этом уроке мы рассмотрим, как можно создать камеру в OpenGL. Мы обсудим камеру типа FPS (First Person Shooter), которая позволит вам свободно перемещаться в трехмерной сцене. Кроме того, мы поговорим о вводе с клавиатуры и мыши, а закончим созданием собственного C++ класса камеры.


Total votes 16: ↑16 and ↓0+16
Comments4

Генерирование полигональных карт для игр

Reading time24 min
Views58K
Я хотел научиться генерировать интересные игровые карты, которые не обязательно были бы реалистичными, а также попробовать техники, с которыми раньше не работал. Обычно я создаю карты с другой структурой. Что можно сделать с тысячей полигонов вместо миллиона тайлов? Отчётливо различимые игроком области могут быть полезны для геймплея: местоположения городов, места квестов, территории для захвата или колонизации, ориентиры, точки поиска пути, зоны с разной сложностью и т.д. Я генерировал карты с помощью полигонов, а затем растеризировал их вот в такие карты:

image

Во многих процедурных генераторах карт, в том числе и некоторых моих предыдущих проектах, для генерирования карты высот используются функции шума (midpoint displacement, фракталы, diamond-square, шум Перлина и т.д.). Здесь я их не применял. Вместо неё я использовал структуру графов для моделирования элементов, определяемых ограничениями геймплея (высота, дороги, течение рек, места квестов, типы монстров) и функции шума для моделирования того, что не ограничивается геймплеем (форма побережья, расположение рек и деревьев).
Читать дальше →
Total votes 100: ↑99 and ↓1+98
Comments11

Исследование защиты ArtMoney. Часть первая

Reading time8 min
Views34K
Приветствую! Сам ArtMoney был закейгенен мной давным-давно. Я не первый раз уже пробую начать писать статью о том, как происходил кейгенинг этой программы, но, всегда где-то стопорился. На этот раз, я решил доделать все до конца! Плюс, эту статью можно считать продолжением цикла статей о крякинге для новичков.

Итак, в этой статье вы узнаете, как я писал кейген к ArtMoney (здесь будет описана версия 7.45.1).
Читать дальше →
Total votes 73: ↑70 and ↓3+67
Comments7

Ищем и скачиваем непопулярные и старые файлы в интернете

Reading time14 min
Views202K
Преимущественно медиафайлы. На полном серьезе, без шуток.

Введение

Бывает, случается так, что вы хотите скачать альбом 2007 года исполнителя, который кроме вас известен 3.5 людям, какой-нибудь испанский ска-панк или малопопулярный спидкор европейского происхождения. Находите BitTorrent-раздачу, ставите на закачку, быстро скачиваете 14.7%, и… все. Проходит день, неделя, месяц, а процент скачанного не увеличивается. Вы ищете этот альбом в поисковике, натыкаетесь на форумы, показывающие ссылки только после регистрации и 5 написанных сообщений, регистрируетесь, флудите в мертвых темах, вам открываются ссылки на файлообменники вроде rapidshare и megaupload, которые уже сто лет как умерли.

Попытка скачать хотя бы один файл
Увы, частая ситуация в попытке хоть что-то скачать

Такое случается. В последнее время, к сожалению, случается чаще: правообладатели и правоохранительные органы всерьез взялись за файлообмен; в прошлом году закрылись или были закрыты KickassTorrents, BlackCat Games, what.cd, btdigg, torrentz.eu, EX.ua, fs.to, torrents.net.ua, и еще куча других сайтов. И если поиск свежих рипов фильмов, сериалов, музыки, мультиков все еще не представляет большой проблемы, несмотря на многократно участившееся удаления со стороны правообладателей контента из поисковых систем, торрент-трекеров и файлообменников, то поиск и скачивание оригинала (DVD или Blu-Ray) фильмов и сериалов или просто ТВ-рипов 7-летней давности на не-английском и не-русском языке — не такая уж простая задача.
Читать дальше →
Total votes 215: ↑213 and ↓2+211
Comments74

6 альтернатив MacBook

Reading time4 min
Views73K
image

После презентации Apple появилось множество разочарованных комментариев: «только USB-C», устаревший процессор, отсутствие сенсорного экрана, и дикий ценник. Посмотрим, какие альтернативы предлагает рынок на новых процессорах Intel.
Читать дальше →
Total votes 32: ↑24 and ↓8+16
Comments212

Пишите меньше кода, блин

Reading time4 min
Views70K

Я не самый талантливый кодер в мире. Правда. Так что я стараюсь писать как можно меньше кода. Чем меньше кода я пишу, тем меньше кода может ломаться, поддерживаться и требовать пояснений.


А еще я ленивый — мед, да еще и ложкой (я решил использовать в статье аналогии с едой).


Но, оказывается, что единственный гарантированный способ повысить производительность в вебе — это писать меньше кода. Минифицировать? Окей. Сжимать? Ну, да. Кэшировать? Звучит неплохо. Вообще отказываться кодить или использовать чужой код изначально? А вот теперь — в яблочко! Что есть на входе — должно выйти на выходе в той или иной форме, независимо от того, смог ли ваш сборщик растворить и переварить это своими желудочными соками (я, пожалуй, откажусь от пищевых аналогий).


И это не все. Кроме видимых улучшений производительности, где вам требуется то же количество кода, но его сначала нужно разжевать (не смог удержаться), вы также можете сэкономить. Моему провайдеру без разницы, посылаю ли я кучу маленьких писем или одно большое: все складывается.


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


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

Читать дальше →
Total votes 116: ↑101 and ↓15+86
Comments46

Как направить весь tcp-трафик с гостевой Windows системы через Tor

Reading time3 min
Views38K
Уже давно мечтаю об ОС с полностью анонимным трафиком. До недавнего времени я использовал следующий способ.
Виртуальная машина, на которую ставится анонимизируемая система, связана через локальную сеть только с хостовой системой (режим Host-only виртуального сетевого адаптера), на которой стоит Tor. Внутри гостевой ОС у приложений, которым нужен интернет, прописывался адрес прокси-сервера Polipo, установленного вместе с Tor на хостовой системе. Таким образом, выход в интернет с гостевой системы возможен только через Tor. Однако у этого способа есть недостаток. Для каждого приложения необходимо прописывать прокси, к тому же не все приложения имеют такие настойки. Прибегать к использованию программ-проксификаторов не хотелось, т.к. такое решение мне показалось не совсем «естественным». Ниже я расскажу о более «естественном» способе ТОРификации.
Читать дальше →
Total votes 27: ↑21 and ↓6+15
Comments4

1Script или Как я начал open-source проект

Reading time11 min
Views30K

Тезис о том, что open-source создается гиками-энтузиастами в наше время несколько утратил актуальность. Тем не менее, идеология открытого кода родилась именно так. Классные программы, написанные ночью, бородатыми (и не очень) чудиками, бескорыстно, просто, чтобы сделать мир лучше — изменили мир разработки ПО.

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

Однажды, мне в голову упала идея проекта. Идея была чисто исследовательской и я не собирался делать из этого некий «продукт». Кроме того, я раньше не вел проектов в открытом доступе и мне очень хотелось попробовать, как это вообще происходит. Что из этого получилось — под катом.
Читать дальше →
Total votes 59: ↑56 and ↓3+53
Comments30

Еще раз о том, как не сделать из своей сети «решето»

Reading time20 min
Views340K
Здравствуйте! Я почти 10 лет работаю в сфере ИТ и ИБ, всегда интересовался практической безопасностью, в настоящее время работаю пентестером. За все время работы я постоянно сталкивался с типовыми ошибками в настройках и дизайне инфраструктуры. Ошибки эти чаще всего досадные, легко устранимые, однако быстро превращают сеть в полигон для взлома. Порой кажется, что где-то специально учат так настраивать, насколько часто они встречались. Это и побудило меня написать данную статью, собрав все самое основное, что может улучшить защищенность.

В этой статье я не буду рассказывать про использование сложных паролей, максимального ограничения прав доступа, смене учетных записей по умолчанию, обновлению ПО, и других «типовых» рекомендациях. Цель статьи – рассказать о самых частых ошибках в настройках, заставить администраторов и специалистов ИБ задуматься над вопросом – «а все ли в моей сети хорошо?», а также показать, как можно оперативно прикрыть те или иные типовые уязвимости, используя встроенные или бесплатные средства, не прибегая к дополнительным закупкам.

Инструкций-рецептов намеренно не прикладываю, так как многое ищется очень легко по ключевым словам.
Читать далее
Total votes 53: ↑53 and ↓0+53
Comments98

Памятка для офисного сисадмина

Reading time4 min
Views116K


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

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

Далее кратко и без воды:
Читать дальше →
Total votes 48: ↑40 and ↓8+32
Comments267

Любительский перевод игр: анатомия процесса, часть первая

Reading time17 min
Views89K
Любительская локализация — явление, затронувшее многих игроманов, и порой даже сыгравшее не последнюю роль в формировании их интересов и отношения к игровой индустрии в целом. Наверное, благодаря тому, что оно издавна преследовало в основном благие цели, у большинства любителей интерактивных развлечений при его упоминании возникают преимущественно положительные ассоциации, а порой даже и ностальгические эмоции.

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


На картинке изображён логотип российского ромхакинг-сообщества по версии проекта Russian Romhacking.
Читать дальше →
Total votes 99: ↑96 and ↓3+93
Comments17

Information

Rating
Does not participate
Location
Гондурас
Date of birth
Registered
Activity