Как сделать checkbox в markdown
Чекбоксы - мегополезная штука при редактировании текстов на языке markdown. Можно, например, составлять списки дел и помечать сделанное в обычном текстовом файле. Пустой чекбокс выглядит в markdown как [ ] а отмеченный как [x].
Поскольку я веду заметки используя markdown, то часто составляю маркированные списки с чекбоксами. К сожалению, других вариантов, кроме отмеченного и не отмеченного чекбоксов в markdown нет, а мне хотелось бы иметь больше вариантов, например чекбокс который неактивен, или как-то еще выделить таск, который не получится сделать, например отметить его крестиком а не галочкой.
Оказывается, у github есть расширение спецификации markdown и можно воспользоваться кодами типа :white_check_mark: или :negative_squared_cross_mark: чтобы получить более интересные комбинации.
Существует проект, который показывает все возможные иконки, которые можно напечатать подобным образом.
К сожалению, в Gitlab эти иконки работают не все, но большинство тоже работают.
Проверил поддерживаются ли они в IntelliJ — облом, не поддерживаются. Obsidian тоже не понимает этого расширения. Microsoft Visual Code тоже не понимает. Надеюсь, в будущем поддержка будет добавлена, уж больно полезная эта фича.
Upd: в принципе расширения разметки не нужны, все эти иконки это Unicode символы, которые можно и как есть использовать, например вот так: ✅ ❌ ✔️. Так что поддержки можно и не ждать а уже сразу начать использовать.
Как убрать сториз в Telegram
Только я настроил Telegram так чтобы он был максимально неотвлекающем, так в нем появились сторисы. Сторисы мне совсем не интересны, но осуждать Дурова за эту штуку я не имею права — сторисы это дешевый дофамин и самый простой способ принести больше денег в проект. Сотрудникам нужно платить, а быстрые сообщения без рекламы сами себя не монетизируют.
Но мне сторисы не нужны, поэтому первое, что захотелось сделать, отключить их нафиг.
К сожалению способа, как полностью отключить Stories в Telegram я не нашел, — в настройках такой опции нет. Однако, можно убрать их по одному для каждого сторисомейкера:
- Удерживайте палец на кружочке со сториз
- Выберите "Скрыть истории"
- Повторите действие для всех сториз в "шапке".
После того как все сторисы убраны, Telegram опять выглядит как и раньше.
Получение SMS сообщений в Telegram
Иногда бывает нужно пересылать входящие SMS сообщения в Telegram. Раньше в Play Market было полно приложений умеющих это делать, но последнее время они куда-то все подевались. Возможно, дело в искуственных ограничениях подобных приложений самим Play Market, возможно еще в чем-то.
К счастью, в Android можно установить приложения не только из Play Market. Я нашел на github вот такое простое приложение. Сайт приложения не открывается, но само приложение можно скачать с github и оно прекрасно работает и без сайта.
Приложение имеет максимально простой пользовательский интерфейс и требует для работы всего три параметра - ключ робота, ID канала и номер телефона.
Ключ робота выдается служебным роботом @BotFather, этот робот создает токены авторизации для всех остальных роботов в Telegram.
С ID канала интереснее. С роботами в Telegrаm можно работать напрямую а можно добавить робота в свою группу и взаимодействовать с ним оттуда. В данном случае подразумевается именно второй вариант.
Создаем новую группу в Telegram, добавляем в нее помимо себя, только что созданного робота. Чтобы узнать ID чата нужно кратковременно добавить в чат еще одного робота @RawDataBot - этот робот покажет нам ID чата которое и нужно использовать при настройке приложения. После того как мы узнали id чата робота @RawDataBot можно из чата удалить.
В качестве номера телефона я указал свой основной телефон.
Если все настроено правильно все новые SMS сообщения начнут приходить в созданный Telegram чат.
Wine в Docker
Есть много способов запустить Windows программу на Linux или MacOS - можно установить виртуальную машину, например в VirtualBox, можно запустить исполнимый файл при помощи Wine.
Оказывается, можно также запустить Windows приложение в специально подготовленном Docker контейнере, в котором уже установлен Wine.
На мой взгляд, способ более чем интересный.
Добрые люди уже собрали все зависимости и выложили на docker.hub - вот ссылка.