Pull to refresh
16
0
Давид Галоян @davojan

User

Send message

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

Level of difficulty Medium
Reading time 27 min
Views 103K

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

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

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

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

Читать далее
Total votes 113: ↑111 and ↓2 +109
Comments 281

Движок для игры от первого лица в 265 строках Javascript

Level of difficulty Hard
Reading time 6 min
Views 25K
image

Сегодня окунёмся в мир, который можно потрогать. В этой статье мы исследуем, как с нуля, быстро и без особо сложной математики написать движок для игры от первого лица. Для этого мы воспользуемся приёмом под названием «бросание лучей» (raycasting). Возможно, вы видели примеры такой техники в играх Daggerfall и Duke Nukem 3D, а из более свежего – в статьях из «ludum dare» от Нотча Перссона. Что ж, для Нотча это неплохо, но не для меня! Вот демка (управление стрелками и тачпадом) [источник].
Читать дальше →
Total votes 78: ↑77 and ↓1 +76
Comments 36

Уволился и уехал на «раннюю пенсию» в Португалию два года назад. Что было дальше?

Level of difficulty Easy
Reading time 16 min
Views 55K

"Reduce the complexity of life by eliminating the needless wants of life, and the labors of life reduce themselves." - Edwin Way Teale

Примерно два года назад в декабре 2020 года я ушел с работы и решил попробовать пожить на доход с капитала следуя "правилу 4%". Как-то незаметно прошло два года и у меня появилось желание подвести какие-то промежуточные итоги. Далее я в не очень структурированном виде изложу некоторые промежуточные итоги после первых двух лет "жизни на доход с капитала" или "ранней пенсии".

Читать далее
Total votes 122: ↑106 and ↓16 +90
Comments 156

Зачем нужен личный сайт в 2023 году

Level of difficulty Easy
Reading time 7 min
Views 27K

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

Потом выросли соцсети типа ЖЖ, «Одноклассников», «ВКонтакте» — и личные странички сошли на нет. Кто теперь вспомнит о тех бесплатных хостингах, которые рекламировались на каждом углу?

Но сейчас история делает новый виток — и персональные сайты опять входят в моду, только на современных технологиях.
Читать дальше →
Total votes 86: ↑80 and ↓6 +74
Comments 100

Как я написал самую эффективную библиотеку для реактивного состояния

Level of difficulty Medium
Reading time 9 min
Views 11K

Всем привет, меня зовут Артём Арутюнян, и я уже пять лет изучаю реактивное программирование. Меня задела недавняя статья, Big State Managers Benchmark, в которой моя библиотека Reatom заняла лишь третье место (скорее второе, ну да ладно) и я решил написать самую эффективную реализацию реактивных состояний, убрав лишние фичи, сфокусировавшись на простоте и производительности.

Немного поэкспериментировав я добился удивительных результатов, в сто строк (0.3KB gzip) уместив максимально простое апи, которое позволяет подключаться к React и Svelte без дополнительных адаптеров. Но самое главное, найденный алгоритм фундаментально покрывает любые краевые случаи условных переподписок зависимых вычислений, с которыми подавляющее большинство популярных библиотек не справляется и дают глитчи.

Если вам интересны детали реализации — прошу под кат.
Читать дальше →
Total votes 72: ↑72 and ↓0 +72
Comments 31

Как правильно отвечать на вопрос “Какие у вас зарплатные ожидания?” на рынке США

Reading time 6 min
Views 64K

На первом интервью чаще всего рекрутер может задать вопрос о зарплатных ожиданиях кандидата — “What Are Your Salary Expectations?”. Я принимаю участие в найме продукт-менеджеров, дизайнеров и инженеров и хочу поделиться с вами своим опытом как правильно отвечать на этот вопрос применительно к рынку США.

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

Читать далее
Total votes 96: ↑85 and ↓11 +74
Comments 161

RustDesk — self-hosted аналог TeamViewer

Reading time 2 min
Views 86K

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

Читать далее
Total votes 88: ↑87 and ↓1 +86
Comments 41

Процедурная генерация бумажных снежинок

Reading time 16 min
Views 21K

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

Читать далее
Total votes 127: ↑127 and ↓0 +127
Comments 33

Если мошенники украли деньги с банковской карты — не спешите в полицию

Reading time 8 min
Views 183K

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

Народ жалуется на Tinkoff, Альфа-банк и прочие банки, на операторов сотовой связи. Портал banki.ru ввёл драконовские правила, что у него решения судов без оценок в народном рейтинге, на форуме нельзя написать, что itsoft выиграл дело у ВТБ — это реклама itsoft видите ли, то есть видно надо писать одна компания, но не скажем какая выиграла суд у ВТБ.

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

К написанию данной статьи меня ещё подвиг наш конфликт с хостером Leaseweb. 7 лет мы платили одну цену в месяц за аренду серверов там. А потом она внезапно выросла в 70 раз. Leaseweb решил, что за действия злоумышленников деньги надо списать с нашей корпоративной карты.

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

Читать далее
Total votes 199: ↑179 and ↓20 +159
Comments 210

Всё, о чём должен знать разработчик Телеграм-ботов

Reading time 15 min
Views 588K

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?

Подробный гайд о том, как работать с ботами — под катом.

Читать далее
Total votes 127: ↑127 and ↓0 +127
Comments 73

Лучшие практики для деплоя высокодоступных приложений в Kubernetes. Часть 2

Reading time 13 min
Views 11K

В прошлой части были рассмотрены рекомендации по множеству механизмов Kubernetes для оптимального деплоя высокодоступных приложений включая особенности работы планировщика, стратегии обновления, приоритеты, пробы и т.п. Во втором и заключительном материале поговорим о трёх важных оставшихся темах: PodDisruptionBudget, HorizontalPodAutoscaler, VerticalPodAutoscaler, — продолжив нумерацию из первой части.

Читать далее
Total votes 39: ↑38 and ↓1 +37
Comments 4

Лучшие практики для деплоя высокодоступных приложений в Kubernetes. Часть 1

Reading time 13 min
Views 26K

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

Функциональность, которая не доступна в Kubernetes «из коробки», здесь почти не будет затрагиваться. Также мы не будем привязываться к конкретным CD-решениям и опустим вопросы шаблонизации/генерации Kubernetes-манифестов. Рассмотрены только общие правила, касающиеся того, как Kubernetes-манифесты могут выглядеть в конечном итоге при деплое в кластер.

Читать далее
Total votes 68: ↑67 and ↓1 +66
Comments 19

Свершилось: ценники, которые всегда актуальны, пилот на 79 тысяч штук в магазине

Reading time 6 min
Views 42K
image
(фото из зарубежного проекта вместо текущего по просьбе безопасников)

До этого в России были внедрения электронных ценников в рознице (МАН, Магнит и так далее), но использовались устройства без сетевой связности, то есть нужно было ходить и обновлять их с помощью программатора либо выставлять на них цену кнопками, как на электронных часах. Плюс прошлые поколения ценников были с жидкокристаллическими дисплеями и суровым bluetooth, а новые — с e-ink и сильно переделанной версией IEEE 802.15.4 с поддержкой сна и невероятно экономичных по питанию транзакций. То есть прошлым надо было менять батарею раз в три-семь дней, а новые уже держат два года (по заявлению производителя, пока не было шанса проверить, но аналогичные устройства LORA мы начали использовать лет десять назад, и один-два года похоже на правду), причём год — это в секции холодильников, где аккумуляторы должны чувствовать себя зябко.

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

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

Пока «накрыто» два крупных магазина федеральной розничной сети, там 79 тысяч ценников. Если этот проект проживёт полгода успешно, через год ждите такое почти по всей России — и наконец-то пропадут проблемы про «мы не успели переклеить» и «акция уже кончилась». Но, возможно, будут новые с тем, что в 18:30 алкоголь будет дороже, чем в 7:00.
Читать дальше →
Total votes 118: ↑115 and ↓3 +112
Comments 378

Если вы не чистите зубы, то я их вам почищу: FAQ про гигиену

Reading time 12 min
Views 117K
image

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

Про чистку зубов есть очень много вопросов, поэтому пробежимся по основным:

  • Что будет, если не чистить зубы?
  • Можно ли чистить зубы редко, но ходить к стоматологу время от времени, чтобы он их вам «мощно почистил»?
  • Как проходит чистка зубов в стоматологии?
  • Почему швейцарцы чистят зубы вообще без пасты?
  • Работает ли жвачка?
  • Какие щётки выбирать и как? Что насчёт электрических?
  • Правда ли, что щётку надо выкидывать, когда хотя бы одна ворсинка отклоняется от вертикали?
  • Зачем нужны скребки для языка, межзубные ёршики, зубная нить и всё остальное?
  • Ирригатор заменяет чистку зубов щёткой?
  • Ополаскиватель для рта — хорошая тема?
  • Когда важнее чистить зубы — утром или вечером?
  • Чем ИТ-специалист отличается от среднего пациента по анамнезу относительно гигиены ротовой полости?
Читать дальше →
Total votes 165: ↑159 and ↓6 +153
Comments 209

Домашний DPI, или как бороться с провайдером его же методами

Reading time 16 min
Views 238K

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

Вообще, эта проблема имеет несколько решений... Но я решил бороться с провайдером их же методом.

...При помощи NGINX!
Total votes 246: ↑245 and ↓1 +244
Comments 187

Сказ о том, как я автоматизировал квартиру с помощью Node-RED. Часть I

Reading time 10 min
Views 51K
За прошлый год я собрал и настроил автоматизацию для небольшой квартиры около оживленной дороги. В этой статье я расскажу об использованных решениях в климатической системе, освещении, мультимедиа и в программном обеспечении.


Total votes 85: ↑84 and ↓1 +83
Comments 42

Знакомство с effector-dom на примере списка задач

Reading time 8 min
Views 7.9K

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


С этим рендером и познакомимся — в этом туториале мы с вами будем создавать простое Todo приложение.



Для работы с логикой будем использовать effector, для рендера приложения — effector-dom.


Для визуальной части возьмем за основу уже готовый тимплейт todomvc-app-template со стилями todomvc-app-css за авторством tastejs.

Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 1

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

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



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

Сказ о sysctl’ях (народная пингвинская история)

Reading time 8 min
Views 62K
Очень часто администраторы выполняют настройку системы просто настройкой базовых вещей — ip,dns,hostname, поставить софт, а все остальное уже настройки приложений. В большинстве случаев так оно и есть, поскольку в linux’е очень разумные умолчания и, в большинстве случаев, этих умолчаний хватает и все живут счастливо. Среди совсем начинающих ходят легенды о неких sysctl’ях, а те, кто поопытнее видели и даже чего-то правили.

Но приходит момент, когда админ в своих походах по системе встречает этого зверя — sysctl. Вероятнее всего он встречает кого-то из семейства net.ipv4 или vm, даже вероятнее всего net.ipv4.ip_forward, если поход за роутером или vm.swappinness, если он обеспокоен подросшим swap’ом своего пингвина. Первый зверь разрешает пингвину принимать пакеты одним крылом и отдавать другим (разрешает маршрутизацию), а второй помогает справиться с использованием swap’а в спокойной системе и регулировать его использование — в нагруженной.



Читать дальше →
Total votes 38: ↑36 and ↓2 +34
Comments 23

25 полезных инструментов Kubernetes: развёртывание и управление

Reading time 7 min
Views 21K

Anthony Smith Images / Shutterstock.com

Мы создаём Kubernetes как облачный сервис и пристально следим за актуальными инструментами разработчиков контейнерных приложений. В этом посте мы расскажем про инструменты, которые сильно облегчают работу с развёртываниями Kubernetes и помогают построить CI/CD.
Читать дальше →
Total votes 36: ↑31 and ↓5 +26
Comments 21

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity