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

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

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

Дешево и сердито: геймдев на Godot 4.2 для тех, кто знает Python

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров21K

Привет, Хабр! Меня зовут Матвей, я уже несколько лет хочу научиться создавать игры. Скажу честно: все никак не хватало времени и, возможно, целеустремленности, чтобы изучить Unreal Engine, Cry Engine и им подобные движки.

Но я знаю Python. Оказывается, для любителей парселтанга есть относительно простой способ вкатиться в геймдев — игровой движок Godot, который поддерживает программирование на синтаксически похожем языке GDScript. Я его изучил и даже создал небольшую игру. В этой статье хочу рассказать об этом решении подробнее.
Читать дальше →
Всего голосов 38: ↑34 и ↓4+40
Комментарии22

Анонимная P2P-база знаний, где никто не может подделать чужое авторство | Магия асимметричных ключей на практике

Уровень сложностиСредний
Время на прочтение31 мин
Количество просмотров11K


На днях, как это обычно и бывает перед сном, мой мозг решил, что было бы очень забавно перед экзаменом не спать, а заняться брейнштормом. Как результат я получил слитую сессию и безумное желание сделать свой P2P WEB 228.0 — ну вы знаете…

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

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

Чисто технически (при должном monkey patch`инге) можно даже заставить его работать как пробрасыватель портов для RDP, онлайн-игр и Vиртуальных Pриватных туннелей, которые нынче нельзя называть.
Читать дальше →
Всего голосов 59: ↑59 и ↓0+59
Комментарии32

Как перестать «ходить на дырку» на даче и не надышаться миазмами

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров74K

Эта статья адресована тем, кто сам занимается строительством канализации на даче.

Миллионы дач в России ранее были оборудованы туалетами типа "сортир с выгребной ямой". С этого многие начинали и многие этим и закончили. Но по мере продвижения ИИ в массы и вообще развития технологий, многие задумались о том, что душ доме на даче это хорошо. А также нормальный тубзик. В котором можно нормально гнездится и почитать газету в интернете, Хабр или что-то еще полезное, а не напряженно ждать вцепится ли в тебя рой мух или нет. Опять же эстетика сортира уже устарела.

Читать далее
Всего голосов 124: ↑91 и ↓33+81
Комментарии225

Когнитивные искажения, о которых стоит помнить

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

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

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

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

Читать далее
Всего голосов 84: ↑76 и ↓8+79
Комментарии36

Использование таймеров systemd вместо заданий cron

Время на прочтение20 мин
Количество просмотров77K
Сейчас я занимаюсь заменой моих cron-заданий на таймеры systemd. Я пользовался таймерами несколько лет, но обычно в тонкости их применения особо не углублялся, разбираясь лишь с тем, что нужно было для выполнения интересующей меня задачи. Недавно я работал над серией материалов про systemd и узнал о том, что systemd-таймеры обладают некоторыми очень интересными возможностями.



Эти таймеры, как и задания cron, могут, в заданное время, вызывать выполнение различных действий в системе. Например — запуск скриптов командной оболочки или программ. Таймеры могут срабатывать, например, раз в день, причём — только по понедельникам. Ещё один пример — срабатывание таймера каждые 15 минут в рабочее время (с 8 утра до 6 вечера). Но таймеры systemd могут кое-что такое, что недоступно заданиям cron. Например, таймер может вызвать скрипт или программу через заданное время после некоего события. Таким событием может быть загрузка системы или запуск systemd, завершение предыдущей задачи или даже завершение работы сервиса, вызванного ранее по таймеру.
Читать дальше →
Всего голосов 67: ↑67 и ↓0+67
Комментарии16

Как содержать пароли. Мой сетап

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров56K

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

Меня интересовало, как я могу залогиниться туда, где многофакторная авторизация через телефон, в случае потери телефона. 

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

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

Читать далее
Всего голосов 69: ↑69 и ↓0+69
Комментарии184

Сам себе мобильный интернет. Запускаем базовую станцию стандарта 4G LTE

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров90K
Приветствую всех!

Я уже не раз рассказывал про то, как в домашних условиях поднять сотовые сети разных стандартов. Но всё же все они были уже весьма древними. Самое время замахнуться на кое-что поинтереснее — LTE.



Итак, в сегодняшней статье поговорим о том, что детально в нашем сообществе не описывал практически никто — о том, как запустить базовую станцию самого нового из поддерживаемых большинством телефонов этой страны стандартов. Поговорим об особенностях её работы и о трудностях, с которыми, возможно, придётся столкнуться при запуске. Традиционно будет много интересного.
Читать дальше →
Всего голосов 313: ↑312 и ↓1+368
Комментарии159

Личный прокси для чайников: универсальный обход цензуры с помощью VPS, 3X-UI, Reality/CDN и Warp

Уровень сложностиСредний
Время на прочтение27 мин
Количество просмотров163K

> С 10 апреля 2024, 3 месяца спустя,
> данная статья заблокирована РКН на территории РФ,
> но доступна с IP других стран, а также через веб-архив.

На фоне прошлогоднего обострения цензуры в РФ, статьи автора MiraclePTR стали глотком свободы для многих русскоязычных айтишников. Я же хочу приоткрыть дверь к свободной информации чуть шире и пригласить «не‑технарей» («чайников»), желающих поднять личный прокси‑сервер для обхода цензуры, но дезориентированных обилием информации или остановленных непонятной технической ошибкой.

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

Статья рассчитана на «чайников», не знакомых с предметной областью. Однако и люди «в теме» могут найти нечто полезное (например, чуть более простую настройку проксирования через CloudFlare без необходимости поднимать nginx на VPS).

Если у вас ещё нет личного прокси для обхода цензуры — это знак.

Читать далее
Всего голосов 102: ↑100 и ↓2+109
Комментарии292

Галопом по Европам: Легитимные процессы Windows на пальцах

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров24K

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

Читать далее
Всего голосов 52: ↑50 и ↓2+59
Комментарии36

Зачем? И весь ужас удара бритвой по Оккаму

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров27K

Самое страшное слово для инноватора или очень уж упёртого студента, который проходит практику у вас в компании: «Зачем?»

Знаете почему? Потому что в 80% случаев ответа вам на этот вопрос не дадут. Давайте разберёмся, причём здесь Оккам и что ему от нас нужно.

Давай, приступай
Всего голосов 147: ↑136 и ↓11+156
Комментарии161

Ода бесполезности споров

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров35K

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

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

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

Рассмотрим это на историческом примере:
Всего голосов 224: ↑217 и ↓7+246
Комментарии475

Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Время на прочтение21 мин
Количество просмотров583K
Всем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300.

От себя: Надеюсь статья будет полезна не только начинающим, но и поможет более опытным администраторам упорядочить свои знания.

Итак, поехали.

image
Читать дальше →
Всего голосов 63: ↑57 и ↓6+51
Комментарии32

Пингвин расставил сети: работа сети в Linux

Уровень сложностиПростой
Время на прочтение46 мин
Количество просмотров19K

Всем привет! С вами снова я, Аргентум! Сегодня я продолжу нашу серию статей об ядре Linux.

В этой статье мы будем изучать способ организации сети в мире серверов и то, как она эволюционировала от использования традиционного сетевого стека ядра Linux к виртуализации сети с использованием OVS и к обработке нагрузки телекоммуникационных компаний с использованием NFV и SR-IOV.

Читать далее
Всего голосов 12: ↑10 и ↓2+13
Комментарии5

Никогда не забывай об этом, когда делаешь open-source проект

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров28K

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

Читать далее
Всего голосов 47: ↑39 и ↓8+38
Комментарии124

Сага о том, как мы писали консоль

Время на прочтение8 мин
Количество просмотров21K
            Если посадить тысячу мартышек за тысячу пишущих машинок, то за тысячу лет они напишут эмулятор терминала. — вместо эпиграфа.

Извините фальстарт, это не я, это андроидный смартбук.

Когда мы только запускали облако, первой проблемой было «как нам получить консоль». Штатный механизм XCP поразумевает, что консоль рисуется с помощью VNCTerm, а желающий её увидеть должен сначала пойти в XenAPI, получить там session-id консоли, пойти на порт консоли, передать session-id, получить RFB, завёрнутый в HTTP, развернуть HTTP, вынуть RFB (он же VNC), отдать её локальному рендереру VNC (VNC-клиенту или java-апплету с тем же функционалом). При этом консоль закрывалась (сессия рвалась) при каждой перезагрузке виртуальной машины. Она рвалась даже при миграции виртуальной машины. Другими словами, это была технология, которая подразумевала «глянул одним глазком, починил ssh/iptables и забыл». Неудобно, медленно, сложно. Выкатывать такое в продакт совсем не хотелось.

И я залез в дебри serial-howto, console-howto и ещё несколько ужасных документов, рассказывающих о том, как правильно нужно конфигуриовать прерывания на ISA плате у мультикарт, а так же специфику настройки linux-2.2 для работы с оными. Параллельно изучалось устройство консоли в зене (внимательный читатель мог даже заметить, когда именно я более-менее разобрался в этом вопросе — я писал на хабре краткий обзор того, что происходит с консолью).

После этого пришла мысль: нужно писать своё, потому что готового чужого хорошего нет.

Сначала мы хотели взять хотя бы готовые компоненты и сделать из них своё. Я помню до сих пор ту замечательную схему, в которой мы планировали сохранять в БД вывод anyterm'а, делать двойное туннелирование последовательного порта с использованием UDP… Выглядело это, мягко скажем, неприглядно.

Потом пришла в голову мысль выпилить anyterm. Для этого нужно было посмотреть, как работают терминалки. Это было очень забавно и поучительно (желающие могут изучить исходный текст PuTTY). Главной проблемой в этом изучении было то, что они много рисуют на экран. Прямо в процессе обработки ввода. Отделить специфику DC от, собственно, того, что является консолью, было сложно.

Через некоторое время мы пришли к идее «нам нужен свой эмулятор терминала».
Задача казалась относительно простой, пока мы не прикоснулись к бездне, именуемой «escape-коды и типы терминалов...».

Пишущие машинки


Итак, в начале была пишущая машинка. В какой-то момент возникло желание совместить телеграф с пишущей машинкой. Так возник телетайп
Разумеется, инженерам, создававшим телетайп, не было никакого резона делать все с нуля. Они просто приделали коды к каждой клавише пишущей машинки. После некоторых боёв в стиле MS VS Netscape, был создан стандарт html5 на коды для оных машинок, то бишь телетайпов. Если мне память не изменяет, то это ASCII, где предусмотрены все комбинации клавиш, характерные для американской пишущей машинки. Включая код BELL, который, кстати, должен вовсе не делать BEEP, а делать «дзыньк», ибо у пишущих машинок был именно колокольчик, а не спикер.

Читать дальше →
Всего голосов 133: ↑126 и ↓7+119
Комментарии91

Коты-психопаты, анимешницы и БДСМ имени Сталина: какими были первые веб-комиксы на русском языке? Часть 2

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров10K

В первой части мы поговорили о начале русскоязычных веб-комиксов в нулевые годы. Продолжим наш рассказ и вспомним о ещё нескольких популярных и знаковых сериях комиксов Рунета вроде бы недавней, но уже далёкой эпохи рубежа нулевых и десятых годов XXI века. И в них будет несколько больше ада, угара, мрачняка и безумия, чем в прошлый раз. Так получилось.
Читать дальше →
Всего голосов 45: ↑40 и ↓5+56
Комментарии4

Сарказм, ежи и неформалы: какими были первые российские веб-комиксы? Часть 1

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров10K

Мы уже рассказывали, что интернет-комиксы зародились в середине 1980-х годов. В Рунете они появились позже: первые эксперименты начались в середине нулевых, а сколько-то массовым и заметным явлением они стали только к концу 2000-х. Ныне русскоязычных веб-комиксов бесчисленное множество на любой вкус и цвет, но на заре появления их можно было пересчитать по пальцам. Зато их активно репостили и бурно обсуждали в ЖЖ и зарождавшихся соцсетях, и без них нашу сеть тех лет было трудно представить. С тех пор прошло уже немало лет, но многие из них остались в сердцах олдов. Освежим же воспоминания — или узнаем, чем развлекали себя бронтозавры-миллениалы в золотой век Рунета!
Читать дальше →
Всего голосов 40: ↑37 и ↓3+51
Комментарии9

Ren'Py: разбираемся с атрибутами изображений

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров6.5K

Лень каждый раз прописывать изображения для спрайта? layeredimage не удовлетворяет вашим потребностям? Тогда эта статья для вас.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии2

Кейпад для управления умным домом — проект выходного дня

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров19K

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

О сборке и настройке макрокейпада можно почитать далее в статье.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+51
Комментарии59

Nmap: сканирование портов

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров33K

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

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

Читать далее
Всего голосов 12: ↑5 и ↓7-2
Комментарии1

Информация

В рейтинге
2 918-й
Зарегистрирован
Активность