2023-11-24

Как сделать checkbox в markdown

Чекбоксы - мегополезная штука при редактировании текстов на языке markdown. Можно, например, составлять списки дел и помечать сделанное в обычном текстовом файле. Пустой чекбокс выглядит в markdown как [ ] а отмеченный как [x].

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

Оказывается, у github есть расширение спецификации markdown и можно воспользоваться кодами типа :white_check_mark: или :negative_squared_cross_mark: чтобы получить более интересные комбинации.

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

К сожалению, в Gitlab эти иконки работают не все, но большинство тоже работают.

Проверил поддерживаются ли они в IntelliJ — облом, не поддерживаются. Obsidian тоже не понимает этого расширения. Microsoft Visual Code тоже не понимает. Надеюсь, в будущем поддержка будет добавлена, уж больно полезная эта фича.

Upd: в принципе расширения разметки не нужны, все эти иконки это Unicode символы, которые можно и как есть использовать, например вот так:  ✅ ❌ ✔️. Так что поддержки можно и не ждать а уже сразу начать использовать.

 

Оставить комментарий

 
  2023-07-22

Как убрать сториз в Telegram

Только я настроил Telegram так чтобы он был максимально неотвлекающем, так в нем появились сторисы. Сторисы мне совсем не интересны, но осуждать Дурова за эту штуку я не имею права — сторисы это дешевый дофамин и самый простой способ принести больше денег в проект. Сотрудникам нужно платить, а быстрые сообщения без рекламы сами себя не монетизируют. 

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

К сожалению способа, как полностью отключить Stories в Telegram я не нашел, — в настройках такой опции нет. Однако, можно убрать их по одному для каждого сторисомейкера:

  • Удерживайте палец на кружочке со сториз
  • Выберите "Скрыть истории"
  • Повторите действие для всех сториз в "шапке".

После того как все сторисы убраны, Telegram опять выглядит как и раньше.

 

Оставить комментарий

 
  2023-06-06

Получение 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 чат.

 

Оставить комментарий

 
  2021-04-22

Wine в Docker

Есть много способов запустить Windows программу на Linux или MacOS - можно установить виртуальную машину, например в VirtualBox, можно запустить исполнимый файл при помощи Wine. 

Оказывается, можно также запустить Windows приложение в специально подготовленном Docker контейнере, в котором уже установлен Wine.

На мой взгляд, способ более чем интересный.

Добрые люди уже собрали все зависимости и выложили на docker.hub - вот ссылка.

 

 

 

Оставить комментарий

 
  2021-06-19

OpenVPN за пять минут

В России очередной раз запретили сервисы VPN. Про бесполезность подобных запретов говорить бесполезно, потому что для того чтобы настроить свой собственный OpenVPN сервер достаточно пяти минут. Для этого есть удобный скрипт.

1. Регистрируем любой VDS сервер c линксом. Услуга платная но не сильно дорогая. Можно поднять инстанс на AWS, или на любом другом интернет провайдере за пределами нашей скрепной страны. На linode.com самый дешевый хостинг стоит 5 долларов в месяц. 

2. Заходим по ssh на только что созданный сервер и запускаем:

wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh

следуем инструкции - в результате на вашем сервере будет работающий openvpn сервер и файл client.ovpn для настройки первого клиента. Для создания новых файлов конфигурации для клиентов скрипт openvpn-install.sh нужно запустить еще раз.

3. Копируем готовый client.ovpn на ваш компьютер или мобильный телефон и поднимаем соединение при помощи любого openvpn клиента.

Под Андроид можно использовать вот этот клиент. Под Windows - вот этот.

Как только соединение успешно поднято весь трафик будет идти через ваш сервер в сети и ваш IP адрес будет определяться не как IP вашего Интернет провайдера а как IP адрес вашего сервера в сети.

 

Оставить комментарий

 
  2021-06-08

Перенос почты между imap почтовыми ящиками

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

Стал думать как это сделать. Перенос папки с почтой на локальном диске оказался не самым рабочим вариантом - все файлы копировать было стремно а по папкам скопировать не удалось. 

Ни одной полезной linux утилиты я не нашел, зато попались несколько платных, не внушающих доверия.

В результате проблема решилась банальнейшим образом - поскольку оба сервера у меня живые - просто выделил папки в Thunderbird которые нужно было перенести на новый сервер и перетащил их на новый аккаунт! Вот так просто!

Все благополучно перенеслось! Это был последний шаг, необходимый мне для завершения процесса переезда, теперь старый сервер можно благополучно погасить и не платить в два раза больше за хостинг!

Кстати, очень рекомендую linode - пользуюсь этим хостинг провайдером уже много лет и мне у них все нравится! За пять долларов в месяц вы получите полноценный виртуальный выделенный сервер для своих проектов, с 1 GB RAM и 32 GB дискового пространства, для небольшого пет проекта вполне достаточно.

 

Оставить комментарий

 
  2021-03-27

Мониторинг серверов c Grafana и Influxdb

Есть меня несколько серверов которые бы мне хотелось постоянно мониторить на предмет оперативной памяти, диского пространства и т.п. Хотя сами сервера расположены в разных местах все они объединены между собой по openvpn. Для того чтобы решить задачку мой выбор пал на связку influxdb+grafana.

Influxdb это так называемая timeseries база данных, в которой мы можем хранить данные которые изменяются во времени. Grafana - это универсальный UI который удобно использовать для визуального представления таких данных. InfuxDB и Grafana поднимаются на при помощи docker-compose. К при этом для того, чтобы послать данные состояния сервера используется баш скрипт который периодически запускается через cron и при помощи curl посылает данные на сервер

Таким образом я всегда могу видеть состояние того или иного сервера. Все системы будем подымать в докере для этого достаточно склонировать репозиторий с docker-compose который содержит в себе 3 образа - influxdb, grafana и chronograph.

git clone git@github.com:maxistar/docker-compose-influxdb-grafana.git
cd docker-compose-influxdb-grafana
git checkout influx1_8
docker-compose up -d

Influxdb версии 2.x требует авторизации и поэтому я использовал версию 1.8. Исправленный docker-compose.yaml живет в ветке influx1_8 где я использую именно эту версию, возможно в будущем разберусь как использовать и последнюю версию.

После того как InfluxDB и Grafana запущены, на сервере, который будем мониторить, создаем bash скрипт (script.sh).

#!/bin/bash

dbName="db0"

stat=`free | awk -v RS="" '{print "memory,host=acentauri used=" $9 "\nmemory,host=acentauri total=" $8 "\nmemory,host=acentauri swap=" $15 "\nmemory,host=acentauri swapused=" $16}'`

curl -s -i -XPOST "http://10.8.0.100:8086/write?db=db0" \
	--data-binary "$stat" 
 

делаем файл исполнимым и добавляем команду для запуска скрипта в cron:

chmod +x script.sh
contab -e

в открывшимся файле добавляем следующую строчку:

* * * * * /home/maxim/infrastructure/utils/memusage/script.sh

После того как данные начали посылаться на сервере настраиваем dashboard и наслаждаемся.

После того как начал мониторить состояние asterisk сервера он волшебным образом перестал зависать! Возможно его зависания были связаны с тем что зависает wifi модуль и я его перестаю видеть по сети.

 

Оставить комментарий

 
  2021-02-25

Как войти в кошёк IOTA если у вас короткий...

...Seed.

Есть такая криптовалюта IOTA. У них в кошельке для авторизации используется так называемый seed - просто случайная последовательность символов некоторой длинны. И эта длинна имеет значение!

Сейчас для авторизации используется seed длинной 81 символ. Когда я заводил кошелек мой seed был длинной 79 символов. 

Старый сид новый кошелек не понимает - говорит - хочу чтобы был не короче 81 символа!

Оказывается для преобразования старого сида к новому нужно дописать к старому сиду девятки до длинны 81 символ.

Вдруг кому нибудь тоже понадобится.

 

Оставить комментарий

 
  2020-04-07

Как сконфигугировать FreePBX на Raspberry Pi

Сделал небольшую статейку про то как сконфигурировать Free PBX для работы в качестве мини-АТС - вдруг кому-то будет интересно...

Статейка пока сырая, дополнения и исправления будут позже.

 

Оставить комментарий

 
  2015-08-08

Скринкаст на Linux

Часто бывает нужно записать скринкаст. Пробовал разные утилиты, но лучшей оказался обычный ffmpeg.

На своем лаптопе я запускаю это вот так:


ffmpeg -video_size 1366x767 -framerate 25 -f \
x11grab -i :0.0 -f pulse -ac 2 -i default output.mp4

Может кому-то будет полезно...

 

Оставить комментарий