masked, myself

Welcome!

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

FYI: Мой Google+ | Мой FriendFeed | Мой Я.ру | Мой старый сайт.

Другие мои сайты (такие как любимые цитаты или юмор-ленту) можно найти на странице профиля, можно читать единой лентой через Я.ру или Soup.io, а проще всего - просто подписаться на рассылку через rss2mail.</a>

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

promo recoder august 1, 2018 12:09 36
Buy for 100 tokens
Не так давно Фейсбук научил меня ещё одной классификации людей, в дополнение к стратегам и тактикам, интерналистам и экстерналистам, и разным морально-политическим приверженцам. Впервые эта классификация описана ещё двадцать лет назад Картером и Сэнджером в книге The Programmer's Stone…
masked, myself

Не только игровой сервер

Продолжаю настройку домашнего сервера. Хотелось научиться запускать на нём небольшие домашние self-hosted сервисы.

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

Установил официальный Docker for Windows. На удивление он оказался вполне неплох: на месте и GUI и командная строка и даже docker-compose, которым я и воспользовался.

Несколько лет назад я открыл для себя удивительную софтинку Traefik - хитрую HTTP-прокси, которая умеет интегрироваться с Docker'ом, позволяя на лету конфигурировать виртуальные хосты из запущенных docker-сервисов. Через неё одно удовольствие на лету поднимать/опускать разные микросервисы.

Каждому микросервису выдам свой под-домен. Публичные сервисы будут жить на настоящих под-доменах, а домашние сервисы будут жить в доменах *.home, которыми будет управлять PiHole. Заодно - порежу нафик все шпионские и рекламные домены через PiHole.

Далее пригодился листочек с нарисованной схемой: по одной крышей мы поднимем Traefik как reverse proxy, PiHole как локальный DNS сервер, и Portainer для управления контейнерами. Заводим такой магический "docker-compose.yaml":

version: '3.8'

networks:
  whisper: { internal: true }
  shout:   { }

services:
  traefik:
    image: traefik:v2.3
    container_name: traefik
    command:
      - "--api"
      - "--api.dashboard=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.http.address=:80"
      - "--entrypoints.https.address=:443"
    networks: [shout, whisper]
    ports:
      - "80:80"
      - "443:443"
    labels:
      traefik.enable: true
      traefik.http.routers.dashboard.rule: "Host(`traefik.nexus.home`) || Host(`traefik.192.168.1.3.xip.io`)"
      traefik.http.routers.dashboard.service: "api@internal"
      traefik.http.routers.http-catchall.rule: "hostregexp(`{host:.+\\.rocks}`)"
      traefik.http.routers.http-catchall.entrypoints: http
      traefik.http.routers.http-catchall.middlewares: redirect-to-https
      traefik.http.middlewares.redirect-to-https.redirectscheme.scheme: https
      traefik.http.middlewares.redirect-to-https.redirectscheme.permanent: true
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  pihole:
    image: pihole/pihole:latest
    container_name: pihole
    networks: [shout]
    ports:
      - '53:53/tcp'
      - '53:53/udp'
      - '8053:80'
    volumes:
      - D:/homelab/etc/pihole:/etc/pihole/
      - D:/homelab/etc/dnsmasq.d:/etc/dnsmasq.d/
      - D:/homelab/var/log/:/var/log/
      - D:/homelab/var/log/lighttpd/:/var/log/lighttpd/
    dns:
        - 1.1.1.1
        - 1.0.0.1
    environment:
      PROXY_LOCATION: pihole
      TZ: 'America/New_York'
    restart: unless-stopped
    labels:
       traefik.enable: true
       traefik.port: 80
       traefik.http.routers.pihole.rule: "Host(`pihole.nexus.home`) || Host(`pihole.192.168.1.3.xip.io`)"
       traefik.docker.network: shout
       traefik.http.services.pihole.loadbalancer.server.port: 80

  portainer:
    image: portainer/portainer
    container_name: portainer
    labels:
      traefik.enable: true
      traefik.http.services.portainer.loadbalancer.server.port: 9000
      traefik.http.routers.portainer.rule: "Host(`portainer.nexus.home`) || Host(`portainer.192.168.1.3.xip.io`)"
      traefik.http.routers.portainer.entrypoints: http
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
    networks: [whisper]

Осталась одна тонкость - в .../etc/dnsmasq.d/ кладём конфигурационный файлик с address=/.nexus.home/192.168.1.3. И можно всё поднимать!

Проверяем PiHole через оставленную дырочку по адресу http://localhost:8053/admin и убеждаемся что всё работает. Настраиваем PiHole по вкусу. И устанавливаем `192.168.1.3` как DNS-сервер на локальном сетевом адаптере.

Теперь, когда у нас есть DNS-сервер и обратный прокси - можно смотреть локальные сайты на http://traefik.nexus.home и http://portainer.nexus.home. А если всё работает - выставить наш `192.168.1.3` для DNS на роутере и наслаждаться отсутствием рекламы и доступом к сервисам на *.nexus.home. Правда надо бы не забыть законопатить доступ к сторонним DNS на роутере. А может быть, даже настроить нормальный DoH для домашней сети.

А на досуге надо будет повыбирать DNS провайдера. А выбор там есть: Couldflare c 1.1.1.1 и 1.0.0.1 (которые вроде бы самые шустрые), Google с 8.8.8.8 и 8.8.4.4, Quad9 c 9.9.9.9 и 149.112.112.112, Yandex для любителей посконного с 77.88.8.8 и 77.88.8.1, или платный NextDNS?

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

masked, myself

Игровой сервер

Как известно, программист - это такой работник умственного труда, который на работе старается спрограммировать всё побыстрее, чтобы наконец пойти домой и попрограммировать для удовольствия. А как же тут попрограммировать для души, когда домашний игровой комп сыграл в ящик, не гудит и не мигает лампочками? Пришлось выделить из семейного бюджета солидную сумму на покупку нового компа в серьёзной конфигурации: Ryzen 7, RTX видеокарта, 32G памяти, все дела.

Прошло несколько недель (COVID всё же на дворе), и настал светлый день. Уставший FedEx'овец в маске дотащил здоровую коробку, и не спрашивая росписи о доставке, умчал вдаль шурша опавшими листьями. Коробку распаковали, комп собрали, подвели питание, включили - он загудел, засверкал светодиодными лентами через боковое стекло. Красота!

Тут меня начал мучать соблазн - ну что я, не настоящий программист что ли? Не пропадать же такой вычислительной мощности только для вечерних загонялок в Doom! Надо поднять нормальную Linuxовую виртуальную машину для разработки, а может даже и несколько, чтобы сделать себе devel, staging, и production.

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

Теперь буду записывать себе на память инструкции по поднятию домашней системы:

Collapse )

После этого можно удовлетворённо попить чайку и переходить к следующей стадии.

masked, myself

Отголоски воинственной молодости

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

Поставил я этот CS remastered, побегал - оказалось оно! Те самые, знакомые до боли карты, только текстурки получше. Те же пушки, вроде бы та же игровая механика, ну разве что flashbang теперь вызывает стильное двоение в глазах. В общем - практически те самые ощущения, даже расстройства те же самые - как двадцать лет назад не получались хедшоты, так и сейчас не получаются. Да и AWP (aka слонобойка) как раньше не давалась, так и сейчас не даётся. У старого думера два союзника - шотган и пулемёт, а всё остальное - преходящее.

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

«when your girlfriend says you need to replace your childish posters with real artwork» Понимаю, намёк тонкий, поймут не все...

Posted by Andrew Kondrashov on Tuesday, November 27, 2018

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

  • Current Mood
    nostalgic nostalgic
  • Tags
masked, myself

Шарообразное разочарование

Помнится, тридцать пять лет назад в Советском Союзе случился фазовый переход, началась Perestroika и наступила Glasnost. Как нам тогда показалось, всё тайное стало явным, и истина, которая была out there, скоро явится нам во всей своей красе. Разумеется, из всех трещин советской цензуры полезла всякая мистика: легализовался весь спектр христианства, нарисовались целители и экстрасенсы, астрология стала непременным атрибутом любой газетёнки. А мы, юные и жадные до новых знаний гики, рванулись в новые околонаучные области.

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

Плывет шар тускло-алый -
Мне очень повезло.
Коснись же губ усталых,
Целуйся сквозь стекло...
© Ю. Железняков

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

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

Frequency of Miracles from r/funny

Что случилось, господа физики-уфологи? Где тысячи качественных фотографий? Где экспериментальные подтверждения? Не говорите мне что это оказалось очередным детским разочарованием...

masked, myself

Shower Thoughts

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

Другая версия этого пикового явления - внезапная смена контекста. В тот момент, когда ты отгораживаешься от всего остального мира полиэтиленовой занавеской, мозг внезапно освобождается от суетности быта, и заглядывая в свои глубины, добывает оттуда что-то искрящееся и сверкающее. У древних греков, кстати, именно этим занимался двуликий Янус - божество дверей, входов и выходов, и вообще - главный наводитель порядка из хаоса. В наше время - наверное покровительствовал бы двустороннему скотчу. Наверное он и забирает мысли при выходе из комнаты и отдаёт их обратно по возвращении - часто чтобы что-то вспомнить, достаточно вернуться туда, где мысль тебя посетила впервые. А с этим [censored] карантином возможности для смены контекста и вовсе стали редкостью, только утренний душ и остался...

Кстати, на моём любимом reddit'e есть отдельный сабреддит /r/Showerthoughts, где народ делится гениальными мыслями, пришедшими именно в душе. Часто бывает очень неплохо. А я вот - сюда пишу. Этот пост, кстати, тоже записан в душе, с риском утопить телефон в процессе. Но оно того стоит!

masked, myself

Цифровой Патронус

За последние годы в мою повседневную жизнь вползло немало "умных ассистентов". Amazon Tap по утрам рассказывает мне новости, Amazon Echo в гостиной играет музыку и отвечает на каверзные вопросы. Гугловский ассистент в телефоне вообще живёт своей жизнью - просыпается в случайные моменты времени и рассказывает что за вопросы ему приснились. Сын общение с Siri почему-то не осилил, зато с амазоновской шайбой Dot общается на равных.

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

В результате получается, что мы заучиваем некоторый набор заклинаний, которые приводят к требуемому результату. Какие-то заклинания допускают изменения в широком диапазоне, а какие-то надо произносить точно так как задумано создателем. Чихнул или кашлянул посреди заклинания - всё, попытка не засчитана. Ассистент практически никогда не переспросит и не уточнит. Можно обратиться к мировому разуму и узнать новые заклинания, но всё равно их надо перепроверять - не всё обнаруженное будет срабатывать именно так как надо. А лучше всего - завести себе маленький spellbook и всё туда аккуратно записывать.

Collapse )
masked, myself

Будущее уже не то что было раньше

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

Моя личная история показывает мне что примерно раз в пять лет вся моя жизнь совершает резкий разворот на 270 градусов, причём в совершенно непредсказуемом измерении. После таких поворотов все долгосрочные планы оказываются не то что невыполнимыми, а прямо-таки нерелевантными. Какой смысл копить на байдарки, если реки высохли? Зачем вам телефон, мистер Андерсон, если вы не можете говорить? Нету ножек - нету вареньица.

Допивая шампанское под бой курантов в последние секунды 2019 года я всё раздумывал - чем меня удивит наступающий год. И наступивший год не подкачал, ох не подкачал! И это только первые пол-года...

Collapse )
depressed, turtle

Здравствуй, жопа, каратнин

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

Карантинный кризис вышел знатный. Неожиданный, как предсказывал старик Талеб. Потрясающий, как завещал покойный churkan. Кажется, из-за карантина само время поплыло. Часы перестали удерживать недели, недели мутными потоками слились в бурые месяцы...

Удивительно как пандемия вывернула мир наизнанку, продемонстрировав нам то что мы не хотели замечать.

В рабочей области - выяснилось, что бо́льшей части офисного планктона офис не так-то уж и нужен. Что большинство из нас вполне могут работать из дома. Матерясь и отбиваясь от семейного уюта, но могут. Что бо́льшая часть этих бесконечных митингов действительно могут быть заменены парой-тройкой email'ов (и что бо́льшая часть митингующих не умеют вести конструктивного диалога, но успешно скрывают это магией soft skills). И что кто впахивал в офисе - тот впахивает из дома ещё больше, а кто тянул кота за хвост в своих кубиклах - теперь делают то же самое, но лёжа на своём диванчике.

Collapse )