Rose debug info
---------------

Подписаться на блог

Ихрь постит в уютный бложик

Фрирайтинг, заметки, шитпостинг и все подряд (18+)

How to fix broken Outline VPN after installing Charles on Mac OS

Sometimes, after installing Charles or any other web proxy on your Mac OS, Outline VPN or any other 3rd party client on your Mac OS can break your VPN connection. To fix it you need to:

  1. Remove the web proxy configuration from the «Details» tab of your Wi-Fi network configuration.
  2. Remove the web-proxy configuration from the VPN connection configuration.
  3. If you don’t have VPN connection settings and are using a 3rd party client (e. g. Outline VPN), you will need to remove the VPN connection from the VPN tab in System Preferences (not in your client) and reconnect using the 3rd party client.
  4. In this case the connection will be recreated in System Preferences without proxy settings.

Alternatively, you can manually remove the proxy server configuration from

/Library/Preferences/com.apple.networkextension.plist

using any plist editor (e. g. BBEdit) and restart your OS.

Про дебаг в старых Safari

Знаете, что самое веселое в фронтенд-разработке после похорон IE?
Дебажить приложения под Safari старых версий — это просто нереально...

Как я делал с IE? Качал виртуалку с сайта MS с нужной версией IE и спокойно дебажил.

Как я делаю с Safari? Ищу образ виртуалки, их же официально никто не распространяет, а ушлые ребята распространяют образы только через Patreon, WTF?

На ноут я не могу поставить виртуалку со старой Mac OS, потому что у меня ARM процессор. На ПК я не могу поставить потому, что у меня там процессор AMD, а почему-то на новых AMD виртуалки как-то криво инструкции транслируют.

В итоге приходится искать макбуки на Intel, на них ставить виртуалку со старой ОС и там дебажить — во житуха!

Изначально писал в телеге — тык

Про Apple и поддержку старых фич

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

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

Так вот после обновления Mac OS (напомню, лучшая ОС в мире) у меня отвалилась половина скриптов потому, что Apple удалила из стандартной сборки системы python 2 (которому сто лет в обед) и php (зачем он там был, я уже и не вспомню). Пришлось что-то переписать, что-то обновить, о чем-то забыть...

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

Кажется, всякое старье все-таки можно (и нужно) выпиливать, пользователи не тупые и умеют гуглить, пусть разбираются. Всем бы у Apple поучиться!

Больше постов в телеграме, там шитпостинг ложится лучше

Как я Алису научил открывать домофон

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

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

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

Во-первых, я изначально заложил 95% на успех, так как домофон у меня через приложение может открываться с телефона.
Во-вторых, мне банально интересно было потыкаться в навыки Алисы и даже 5% неуспеха меня не смущали.
В-третьих, мне никак не хотелось идти вечером пятницы пить пиво.

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

Я, недолго думаю, постманом получил нужные токены, протыкал ручки — вроде работает. Быстренько накидал простой сервис на ноде, который на запрос по определенному эндопоинту с сикретом (куда же без сесурити) дергает эндпоинт провайдера, в случае неудачи пытается обновить токен и дернуть его еще раз.

Затем пошел на Диалоги, где сделал приватный диалог для Алисы, который перенаправил в ту же ручку. Внутри сервиса дописал пару проверок, чтобы во входящих интентах было «домофон», затем дергался эндпоинт провайдера, а в ответ Алисе уходило «Открываю».

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

Обошел это через создание шортката в сценариях для всех своих станций и... эврика! Теперь Алиса открывает домофон по фразе «Открой домофон». Пятница прошла довольно-таки неплохо!

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

Видео с демкой залил в телегу — тык.

Шитпостинг в телеграме

TL;DR: Теперь посчу еще и в канал -> https://t.me/fuckanarium

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

Там и про работу, и про проекты, и про диджеинг и про тусовки и фесты — про все, что происходит в жизни в режиме «почти лайф»!

How to run TS-node with ES modules and CommonJS?

If you’ve got ERR_REQUIRE_ESM, ERR_UNKNOWN_FILE_EXTENSION for TS files, ERR_MODULE_NOT_FOUND for TS files with ES modules and other errors related to «CJS to ESM migration problem» in your NodeJS project you can fix it by following these steps.

  1. Update package.json to define modules system
"type": "module",
  1. Update tsconfig.json to support ESM in TS-node
{
  "compilerOptions": {
    "target": "esnext",
    "emitDecoratorMetadata": true,
    "module": "esnext",
    "moduleResolution": "node",
    "types": ["node"],
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true
  }
}
  1. Run your entry point script using node and ts-node as node loader
node --experimental-specifier-resolution=node --loader ts-node/esm src/index.ts
  1. Enjoy!

Лучший оупен-эйр 2022 в Рязани

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

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

Почти два месяца мы (и здесь я очень рад, что принимал участие в подготовке) готовили опен-эир с электронной музыкой, клевыми диджеями, баром, интересными инсталляциями и декором. И у нас получилось. Очень круто, куча положительного фидбэка, респектов и вопросов «вы там ебанутые?» (в положительном ключе, конечно). Повторюсь, что безумно рад, что удалось приложить руку к этому всему.

Вечер за день до мероприятия — на выходе в поля

Началось все с выбора площадки — поляны под Рязанью в чаще леса, которую ребята расчищали долго и кропотливо, сразу же намечая где и что будет: 2 чилл-зоны, бар + кухня, сцена, туалет (куда ж без него). Даже расположение мусорок было продумано! План рисовали как лучших шпионских боевиках — на скриншотах спутниковых снимков.

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

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

Одна из огромных инсталляций — цветок, свечение которого было видно почти из каждого края плейса

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

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

Чиллзона внутри бара, виден процесс подготовки и скульптура, маскот Рязани, можно сказать

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

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

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

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

Люди приходили как-то очень резко и кучно, в какой-то момент я зашел в бар и увидел толпу, вышел — около него тоже увидел толпу, дошел до чиллзоны — там люди со своими раскладными стульчиками сидят и курят кальян. Красота!

Бар и довольные люди

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

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

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

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

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

Куча потраченных сил и энергии кучи людей, куча положительных эмоций и историй, парочка новых локальных «мемов» — как минимум поэтому лето уже удалось.

Ранее Ctrl + ↓